package org.jeecg.modules.flower.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.flower.entity.*;
import org.jeecg.modules.flowermater.entity.FlowerMaterialCost;

import java.util.List;

/**
 * @Description: 蔬菜成本和统计
 * @Author: jeecg-boot
 * @Date:   2022-06-29
 * @Version: V1.0
 */
public interface IFlowerCostService extends IService<FlowerCost> {
    /**
     *
     * 查询蔬菜出库的收入
     * @param page
     * @param storehouse
     * @param cost
     * @param sDate
     * @param eDate
     * @return
     */
    IPage<FlowerCost> queryCosts(IPage<FlowerCost> page,  String storehouse,   String cost,   String sDate, String eDate);



    /**
     *   蔬菜明细表查询统计===盘点 上期结余。本期入库，出库， 本期结余  -->
     * @param sDate
     * @param eDate
     * @return
     */
    JSONObject flowerAccount(String storehouse, String cost, String sDate, String eDate );

    /**
     * 结算单汇总报表
     */
    IPage<FlowerOrderCountList> orderCountList(IPage<FlowerOrderCountList> page ,   Wrapper<FlowerOutorder> queryWrapper,String sDate,String eDate);

    /**
     *
     * 出库汇总
     * @param page
     * @param queryWrapper
     * @param sDate
     * @param eDate
     * @return
     */
    IPage<FlowerAcont> huiZonglist(IPage<FlowerAcont> page , Wrapper<FlowerAcont> queryWrapper,   String sDate,  String eDate );


    /**
     * 预出库结算单
     * @param page
     * @param queryWrapper
     * @param sDate
     * @param eDate
     * @return
     */
    IPage<FlowerOrderPreCountList> orderPreAccontlist(IPage<FlowerOrderPreCountList> page , Wrapper<FlowerOrderPreCountList> queryWrapper, String sDate, String eDate );

    /**
     *
     * 入库汇总单
     * @descriptionauthor
     * @author gf
     * 2022-10-27 13:20
     * [page, queryWrapper, sDate, eDate]
     * @return com.baomidou.mybatisplus.core.metadata.IPage<org.jeecg.modules.flower.entity.FlowerTagIn>
     */
    IPage<TFlowerTagIn2>  queryInListByDate (IPage<TFlowerTagIn2> page ,  Wrapper<TFlowerTagIn2> queryWrapper,   String sDate,  String eDate ) ;

    /**
     *  实物出库汇总报表
     * @descriptionauthor
     * @author gf
     * 2022-10-28 15:12
     * [page, isPre, sDate, eDate]
     * @return com.baomidou.mybatisplus.core.metadata.IPage<org.jeecg.modules.flower.entity.FlowerOutorderHZ>
     */
    IPage<FlowerOutorderHZ>  queryOutListByDate (IPage<FlowerOutorderHZ> page ,String storehouse,  String isPre,  String sDate,  String eDate ) ;
    
    
    /**
     *
     * @descriptionauthor 实物出库 日 报表
     * @author gf
     * 2022-11-18 16:16
     * [page, storehouse, isPre, sDate, eDate]
     * @return com.baomidou.mybatisplus.core.metadata.IPage<org.jeecg.modules.flower.entity.FlowerOutorderDayHZ>
     */
    IPage<FlowerOutorderDayHZ>  queryOutDayListByDate (IPage<FlowerOutorderDayHZ> page ,String storehouse,  String isPre,  String sDate,  String eDate ) ;

    /**
     * 销售系统大屏获取-销售数据。，
     * @descriptionauthor
     * @author gf
     * 2022-11-14 13:53
     * []
     * @return java.util.List<org.jeecg.modules.flower.entity.FlowerOutorderHZ>
     */
    List<FlowerOutorderHZ>  getSealInfos () ;
    List<FlowerOutorderHZ>  getThreeMonthSealInfos () ;
}
